package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 表单保存方法VO
 * 检验结果表
 * </p>
 *
 * @author zqb
 * @date 2024-08-02 16:39:32
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode
@Builder
@Schema(description = "检验结果表")
public class BHl7YzLisResultSaveVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 病人id
     */
    @Schema(description = "病人id")
    @Size(max = 64, message = "病人id长度不能超过{max}")
    private String patientIdent;
    /**
     * 住院号
     */
    @Schema(description = "住院号")
    @Size(max = 32, message = "住院号长度不能超过{max}")
    private String hospitalNumber;
    /**
     * 医嘱id
     */
    @Schema(description = "医嘱id")
    @Size(max = 32, message = "医嘱id长度不能超过{max}")
    private String orderId;
    /**
     * 检验报告id
     */
    @Schema(description = "检验报告id")
    @Size(max = 32, message = "检验报告id长度不能超过{max}")
    private String reportId;
    /**
     * 检验报告名称
     */
    @Schema(description = "检验报告名称")
    @Size(max = 255, message = "检验报告名称长度不能超过{max}")
    private String reportName;
    /**
     * 采集时间
     */
    @Schema(description = "采集时间")
    private LocalDateTime takeTime;
    /**
     * 检验项目名称
     */
    @Schema(description = "检验项目名称")
    @Size(max = 255, message = "检验项目名称长度不能超过{max}")
    private String projectName;
    /**
     * 检验项目id
     */
    @Schema(description = "检验项目id")
    @Size(max = 64, message = "检验项目id长度不能超过{max}")
    private String projectIdent;
    /**
     * 检验值
     */
    @Schema(description = "检验值")
    @Size(max = 256, message = "检验值长度不能超过{max}")
    private String testValue;
    /**
     * 检验值单位
     */
    @Schema(description = "检验值单位")
    @Size(max = 16, message = "检验值单位长度不能超过{max}")
    private String testUnit;
    /**
     * 参考值范围
     */
    @Schema(description = "参考值范围")
    @Size(max = 64, message = "参考值范围长度不能超过{max}")
    private String valueRange;
    /**
     * 检验结果状态
     */
    @Schema(description = "检验结果状态")
    @Size(max = 16, message = "检验结果状态长度不能超过{max}")
    private String testStatus;
    /**
     * 检验方法
     */
    @Schema(description = "检验方法")
    @Size(max = 64, message = "检验方法长度不能超过{max}")
    private String testMethod;
    /**
     * 样本类型
     */
    @Schema(description = "样本类型")
    @Size(max = 16, message = "样本类型长度不能超过{max}")
    private String sampleType;
    /**
     * 结果标志(ABC表示正常偏高偏低，AAA正常BAA偏高CAA偏低BBB特高CCC特低)
     * 常偏高偏低，该值由 3
     * 个字符组成，AAA 正
     * 常，BAA 偏高，CAA
     * 偏低，BBB 特高，CCC
     * 特低)
     */
    @Schema(description = "结果标志(ABC表示正常偏高偏低，AAA正常BAA偏高CAA偏低BBB特高CCC特低) 常偏高偏低，该值由 3 个字符组成，AAA 正 常，BAA 偏高，CAA 偏低，BBB 特高，CCC 特低)")
    @Size(max = 16, message = "结果标志(ABC表示正常偏高偏低，AAA正常BAA偏高CAA偏低BBB特高CCC特低) 常偏高偏低，该值由 3 个字符组成，AAA 正 常，BAA 偏高，CAA 偏低，BBB 特高，CCC 特低)长度不能超过{max}")
    private String sampleResult;
    /**
     * 报告时间
     */
    @Schema(description = "报告时间")
    private LocalDateTime reportTime;



}
